Release Notes for MPLINK™ Object Linker and Utilities
MPLINK Object Linker v4.03
MPLIB™ Object Librarian v4.03
MP2COD COFF to COD File Converter v4.03
MP2HEX COFF to HEX File Converter v4.03
7 April 2006

Table of Contents

Important MPLINK and MPLAB IDE Compatibility Note

Due to a change in COFF file format, MPLAB C18 v3.00 and later will not be compatible with versions of MPLINK prior to v4.00 or versions of the MPLAB IDE prior to v7.21.

MPLINK v4.00 and later will have backward compatibility to earlier versions at the source level only. Any existing object files or libraries compiled with earlier versions of the tools will not link using new versions of the tools. They will need to be recompiled from source.

If the user attempts to use this release with object files or libraries compiled with earlier versions of MPLAB C18, MPLINK, and MPASM, the error message that will be received will be similar to:

Error - Coff file format for 'C:\mcc18\lib/c018i.o' is out of date.

If the user attempts to use an old version of MPLINK to link object files or libraries compiled with this release, the error message that will be received will be similar to:

Error - Coff file format for 'C:\mcc18\lib/c018i.o' does not appear to be a valid COFF file.

New in This Release

Command Line Device Options Supported

10F200       10F202       10F204       10F206
10F220       10F222

12C508       12C508A      12C509       12C509A
12C671       12C672
12CE518      12CE519      12CE673      12CE674
12CR509A
12F508       12F509       12F510       12F629
12F635       12F675       12F683

14000

16C432       16C433       16C505       16C52
16C54        16C54A       16C54B       16C54C
16C55        16C554       16C557       16C558
16C55A       16C56        16C56A       16C57
16C57C       16C58A       16C58B
16C5X
16C61        16C62        16C620       16C620A
16C621       16C621A      16C622       16C622A
16C62A       16C62B       16C63        16C63A
16C64        16C642       16C64A       16C65
16C65A       16C65B       16C66        16C662
16C67        16C71        16C710       16C711
16C712       16C715       16C716       16C717
16C72        16C72A       16C73        16C73A
16C73B       16C74        16C745       16C747
16C74A       16C74B       16C76        16C765
16C77        16C770       16C771       16C773
16C774       16C781       16C782       16C84
16C923       16C924       16C925       16C926
16CE623      16CE624      16CE625
16CR54       16CR54A      16CR54B      16CR54C
16CR56A      16CR57A      16CR57B      16CR57C
16CR58A      16CR58B      16CR62       16CR620A
16CR63       16CR64       16CR65       16CR72
16CR83       16CR84
16CXX
16F505       16F506       16F54        16F57
16F59        16F616       16F627       16F627A
16F628       16F628A      16F630       16F631
16F636       16F639       16F648A      16F676
16F677       16F684       16F685       16F687
16F688       16F689       16F690       16F716
16F72        16F73        16F737       16F74
16F76        16F767       16F77        16F777
16F785       16F818       16F819       16F83
16F84        16F84A       16F87        16F870
16F871       16F872       16F873       16F873A
16F874       16F874A      16F876       16F876A
16F877       16F877A      16F88        16F883
16F884       16F886       16F887       16F913
16F914       16F916       16F917       16F946

16HV540      16HV616      16HV785

17C42        17C42A       17C43        17C44
17C752       17C756       17C756A      17C762
17C766
17CR42       17CR43
17CXX

18C242       18C252       18C442       18C452
18C601       18C658       18C801       18C858

18F1220      18F1230      18F1231      18F1320
18F1330      18F1331      18F2220      18F2221
18F2320      18F2321      18F2331      18F2410
18F242       18F2420      18F2423      18F2431
18F2439      18F2450      18F2455      18F248
18F2480      18F24J10     18F2510      18F2515
18F252       18F2520      18F2523      18F2525
18F2539      18F2550      18F258       18F2580
18F2585      18F25J10     18F25K20     18F2610
18F2620      18F2680      18F2681      18F2682*
18F2685      18F4220      18F4221      18F4320
18F4321      18F4331      18F4410      18F442
18F4420      18F4423      18F4431      18F4439
18F4450      18F4455      18F448       18F4480
18F44J10     18F4510      18F4515      18F452
18F4520      18F4523      18F4525      18F4539
18F4550      18F458       18F4580      18F4585
18F45J10     18F45K20     18F4610      18F4620
18F4680      18F4681      18F4682*     18F4685
18F6310      18F6390      18F63J11*    18F63J90
18F6410      18F6490      18F64J11*    18F64J15
18F64J90     18F6520      18F6525      18F6527
18F6585      18F65J10     18F65J11*    18F65J15
18F65J90     18F6620      18F6621      18F6622
18F6627      18F6680      18F66J10     18F66J15
18F66J60     18F66J65     18F6720      18F6722
18F67J10     18F67J60     18F8310      18F8390
18F83J11*    18F83J90     18F8410      18F8490
18F84J11*    18F84J15     18F84J90     18F8520
18F8525      18F8527      18F8585      18F85J10
18F85J11*    18F85J15     18F85J90     18F8620
18F8621      18F8622      18F8627      18F8680
18F86J10     18F86J15     18F86J60     18F86J65
18F8720      18F8722      18F87J10     18F87J60
18F96J60     18F96J65     18F97J60

EEPROM16     EEPROM8

RF509AF      RF509AG      RF675F       RF675H
RF675K

*Note: New part support since last release
Note: The devices 18F2423, 18F2523, 18F4423, and 18F4523 were formerly known as 18LF2423, 18LF2523, 18LF4423, 18LF4523.

THE PARTS CORRESPONDING TO THESE OPTIONS MAY NOT ALL BE COMMERCIALLY AVAILABLE.

The part selection is specified at assembly time and contained within the object file. An appropriate linker command file is necessary to properly link for the chosen part.

Operating System Support List for v4.03

Windows 98, Windows XP, Windows NT v4.0, Windows 2000

Known Problems in v4.03

(3224)
MPLINK Linker always links in the section which loads initialized data from program memory to data memory, even though it is not required.


(18214)
If MPLINK.EXE is invoked without arguments, an error message stating "Error spawning _mplink.exe" is emitted. This message is spurious; it can be ignored.


(18432)
An interrupt with locals of "overlay" storage class which calls a function reachable from main is incorrectly viewed as recursive.
For example, the program:
        int g (void) {
          return 2;
        }

        void f (void);
        #pragma interrupt f
        void f (void) {
          overlay int x;
          x = g ();
        }

        void main (void) {
          int x;
          x = g ();
        }
Will cause a linker error, stating that 'g' is recursive and has locals of "overlay" storage class. The workaround is to use "auto" instead of "overlay" in the interrupt.


(19225 / 24343)
MPLINK Linker may generate an assertion failure on programs which contain a section of zero length. The workaround is to remove such sections from the program.


(20403)
The '/r' option of MP2HEX does not work correctly for ranges specified outside of any existing data.
For example, given the following source, 't.asm':
        LIST P=12C508
        CODE 0x100
        MOVLW 0
        MOVLW 1
        MOVLW 2
        MOVLW 3
        END
After assembly, execute 'mp2hex.exe t.o /r 0x104-0x104'. The hex file content is:
        :02 0000 04 0000FA
        :02 0206 00 030C E7
        :00 0000 01 FF
The data record shows the instruction 'MOVLW 3' at address 0x103, but 0x103 was not specified in the range.
Since no data exists at 0x104 in the COFF file, there should be no data bytes in the hex file.


(22228)
Quiet mode (/q) disables the printing of errors and warnings to standard out.


(22672)
If there is no place to allocate a zero-length section, the error message "cannot allocate section" will be emitted -- even though the section requires no memory. Always remove zero-length sections from your source code.


(22947)
The /? command-line option may give the following error message on Windows 2000:
        Error - unknown switch: /r
Use the /h option instead.


(27314)
Program memory utilization is not correct in map files generated for 18F87J10.

Customer Support


Microchip provides online support via our home page at:
http://www.microchip.com

Technical support is available through the web site at:
http://support.microchip.com

A forum for discussion of Microchip products and tools is available at:
http://forum.microchip.com